package org.finesys.chat.core.base.factory;

import lombok.Data;
import org.finesys.ai.core.LogLevel;
import org.finesys.ai.core.chat.ChatCompletionModel;

import java.net.Proxy;

import static org.finesys.ai.core.LogLevel.DEBUG;

/**
 * 会话模型
 */
@Data
public class ChatModel {
    private String modelId;
    private String modelType;
    private String modelVersion;
    /**
     * 模型提供者
     */
    private String provider;
    /**
     * 基本 URL
     */
    protected String baseUrl = "https://api.deepseek.com/v1";

    /**
     * API 密钥
     */
    protected String apiKey;
    /**
     * 密钥
     */
    private String apiSecret;

    /**
     * 搜索 API 密钥
     */
    protected String searchApiKey;

    /**
     * 模型名称
     */
    protected String model = ChatCompletionModel.DEEPSEEK_REASONER.getValue();

    /**
     * 默认系统提示词
     */
    protected boolean defaultSystemPrompt = true;

    /**
     * 日志请求
     */
    protected boolean logRequests;

    /**
     * 日志响应
     */
    protected boolean logResponses;

    /**
     * 代理
     */
    protected Proxy proxy;

    /**
     * 连接超时 S
     */
    protected Integer connectTimeout;

    /**
     * 读取超时 S
     */
    protected Integer readTimeout;
    /**
     * 写入超时 S
     */
    private Integer writeTimeout;

    /**
     * 呼叫超时 S
     */
    protected Integer callTimeout;

    /**
     * 日志级别
     */
    protected LogLevel logLevel = DEBUG;
    /**
     * 系统提示词
     */
    private String systemPrompt;
}
